Scanners are used to digitize the graphic content, be it color or black and white photographs, artwork, text, or other graphics, from reflective and/or transmissive original documents. The generated image data is then usually passed to a host computer.
The scanner functionality is useful in digital document storage, digital content generation, and in more industrial printing environments. In this latter implementation, chemical film-based photographs, for example, can be digitally scanned for pre-print review, followed by production printing.
One of the most common scanner configurations is the flat-bed scanner. A transmissive or reflective original document is placed face-down on a bed having a glass plate. A carriage, under the glass plate, with a slit aperture facing the document is then scanned over the original document. An optical system in the carriage successively picks-off scan lines. Fold mirrors relay the scanned lines to the optical system""s imaging lens, which image the scan lines onto a linear or two-dimensional image sensor. In one common implementation, the image sensor is a trilinear, charge-coupled device (CCD) array, although it appears that newer CMOS-based image sensors will become increasingly popular.
Sheet-feed scanners are very similar to the flatbed scanner configuration. The major difference concerns the fact that the relative movement between the image sensor and the original document is accomplished by scanning or moving the document over a stationary image sensor.
Regardless of the scanner configuration, the image sensor is used to detect light from the, typically, actively-illuminated document and generates analog pixel signals corresponding to the quantity of light received by each light sensitive element in the sensor. These analog signals are passed to an analog-to-digital converter, which generates the respective image data. This image data is then transferred to the host computer where it is ultimately used in a desktop-publishing application, for example, running on the host computer.
A recurrent issue that arises in these scanner-host computer systems is the data transmission channel between the scanner and the host computer. As a general rule, the scanner generates image data faster than it can be received, or consumed, by the host computer. The limitation concerns the host computer""s architecture. Although the physical data channel, typically a SCSI (small computer systems interface) bus, can transmit the data as fast as it can be produced by the scanner, the host computer must store the data to its hard drive, possibly after processing the data.
Three general approaches are pursued in managing this discrepancy between the speed at which the scanner produces data and the maximum speed at which the host computer can consume that data.
The most common approach is to place a first-in-first-out (FIFO) buffer in the scanner on the data channel to the host computer. The scanner generates the image data during the scan, and the data are passed to the buffer, while older data are simultaneously leaving the buffer for transfer to the host computer. This approach is relatively inexpensive since the provision of the local scanner buffer is inexpensive, in most situations. This scanner-buffer also has the advantage that the overall speed of the scanning operation is relatively quick. The total time to scan a given document is approximately the time to transfer the data to the host computer. One disadvantage, however, concerns the quality of the image data. As the buffer becomes full, the relative movement between the document and the image sensor must be stopped so that image data is no longer produced, thereby allowing the buffer to empty, essentially enabling the host computer to catch-up. When document scanning is resumed, the conditions under which the first part of the scan was performed must be precisely duplicated. For example, scanning in the document must be restarted at precisely the position where it was stopped. Moreover, lighting, relative transfer speed, and CCD sensitivity must be exactly the same as they were prior to the scanning stop. Any small differences will result in an artifact extending across the image data transverse to the direction of document scanning. These are referred to as carriage stop/start artifacts. For high quality scanners, such artifacts, even if very minor in nature, are unacceptable.
The second approach is to buffer all of the image data on the scanner. Typically, to provide the necessary storage, a hard disk drive is placed locally on the scanner and the image data generated by the scanner is first stored directly to that scanner-local hard drive. The disadvantages here are the costs associated with the extra-local-scanner hard drive and the overall time to complete a scan. Image scanning and data transfer to the host computer are strictly serialized. Thus, the time for a scan is equivalent to the time to scan plus the time to transfer the data. Advantageously, stop/start artifacts can be avoided since storage to the drive can track image data generation.
Finally, some have proposed to slow down the speed of the scan and thus the rate at which the image data are generated, so that the number of times that the buffer overflows is minimized to thereby reduce the number of stop/start artifacts in the scanned image. This has the advantage in reducing the time to scan the document to approximately the time to transfer the data to the host computer, while yielding a relatively inexpensive system, i.e., a scanner with a small buffer size.
Each of the above-identified techniques for managing the data transfer between the host computer and the scanner has their associated problems. Local disk storage slows down the time to perform the scan and increases the cost of the scanner due to the local disk drive. Advantageously, it avoids the problem of the stop/start artifacts. The other two approaches have the problem of still having start-stop artifacts, but they are relatively less expensive to implement.
The present invention is directed to a scanner that preferably utilizes a local buffer, rather than a hard disk drive. Thus, it avoids the associated cost of the drive. It, however, almost entirely prevents the occurrence of stop/start artifacts in the image data by selecting a scan rate that will not overflow the buffer. This is accomplished by having the host computer communicate to the scanner to suggest a modification to the scanning speed based upon an expected rate at which the host computer can consume the image data, prior to the beginning of the document scan. As a result, the scanner does not generate image data faster than they can be accepted by the host computer, thus avoiding the need to stop the relative movement between the image sensor and the document.
In general, according to one aspect, the invention features an image scanning system. The system comprises a scanner that generates image data and has a buffer for temporarily storing the image data prior to transfer. A host computer receives the image data from the buffer and signals the scanner, preferably prior to the beginning of image scanning, to modify a scanning speed based upon an expected rate at which the host computer can accept the image data.
In preferred embodiments, the host computer generates scanning speed modification data, which are sent to the scanner to affect its scan speed, in response to a processing overhead during the image data transfer from the scanner. In most cases, this processing overhead results from image processing that the host computer must perform on the image data prior to their storage in the host computer""s hard drive.
In more detail, in the preferred embodiment, the scanner stores a default scanning speed in a non-volatile.memory The speed at which a current scanning operation is performed is calculated based upon the scanning speed modification data from the host computer and the default scanning speed. This default scanning speed can be the same for all scanners, ie. factory set, or it can be set based upon the computational power of the host, or its data handling capabilities, such as its hard drive speed, during a scanner installation process.
In general, according to another aspect, the invention also relates to an image scanner. This image scanner comprises an image sensor that detects light from a document. A carriage scans the image sensor relative to a document to be scanned and an analog-to-digital converter converts image signals from the image sensor to the image data. A buffer is used to temporarily store the image data prior to transfer to a host computer. The scanner""s controller selects a scanning speed of the carriage based upon scan speed data sent from the host computer, which is intended to limit the speed at which the scan takes place so that the buffer does not overflow, which would necessitate carriage stop/start during the scan.
Finally, according to still another aspect, the invention features a document scanning method for suppressing carriage stop/start artifacts in the image data. The method comprises determining image data processing overhead at a host computer and then generating carrier scan speed data based upon the image data processing overhead. The scan speed data are then sent to the scanner, which then controls a speed of carriage translation in response to the data.
The above and other features of the invention including various novel details of construction and combinations of parts, and other advantages, will now be more particularly described with reference to the accompanying drawings and pointed out in the claims. It will be understood that the particular method and device embodying the invention are shown by way of illustration and not as a limitation of the invention. The principles and features of this invention may be employed in various and numerous embodiments without departing from the scope of the invention.